Add some friendly messages to libcxx calls to abort(). git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@186951 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/src/exception.cpp b/src/exception.cpp index 1d2f6b2..d3e1b29 100644 --- a/src/exception.cpp +++ b/src/exception.cpp
@@ -7,6 +7,7 @@ // //===----------------------------------------------------------------------===// #include <stdlib.h> +#include <stdio.h> #include "exception" @@ -88,12 +89,14 @@ #endif // _LIBCPP_NO_EXCEPTIONS (*get_terminate())(); // handler should not return + printf("terminate_handler unexpectedly returned\n"); ::abort (); #ifndef _LIBCPP_NO_EXCEPTIONS } catch (...) { // handler should not throw exception + printf("terminate_handler unexpectedly threw an exception\n"); ::abort (); } #endif // _LIBCPP_NO_EXCEPTIONS @@ -109,6 +112,7 @@ return __cxa_uncaught_exception(); #else // __APPLE__ #warning uncaught_exception not yet implemented + printf("uncaught_exception not yet implemented\n"); ::abort(); #endif // __APPLE__ } @@ -146,6 +150,7 @@ __cxa_decrement_exception_refcount(__ptr_); #else #warning exception_ptr not yet implemented + printf("exception_ptr not yet implemented\n"); ::abort(); #endif // __APPLE__ } @@ -157,6 +162,7 @@ __cxa_increment_exception_refcount(__ptr_); #else #warning exception_ptr not yet implemented + printf("exception_ptr not yet implemented\n"); ::abort(); #endif // __APPLE__ } @@ -173,6 +179,7 @@ return *this; #else // __APPLE__ #warning exception_ptr not yet implemented + printf("exception_ptr not yet implemented\n"); ::abort(); #endif // __APPLE__ } @@ -207,6 +214,7 @@ return ptr; #else // __APPLE__ #warning exception_ptr not yet implemented + printf("exception_ptr not yet implemented\n"); ::abort(); #endif // __APPLE__ } @@ -220,6 +228,7 @@ terminate(); #else // __APPLE__ #warning exception_ptr not yet implemented + printf("exception_ptr not yet implemented\n"); ::abort(); #endif // __APPLE__ } diff --git a/src/locale.cpp b/src/locale.cpp index 47c4061..bf95732 100644 --- a/src/locale.cpp +++ b/src/locale.cpp
@@ -31,6 +31,7 @@ #include <langinfo.h> #endif // _!WIN32 #include <stdlib.h> +#include <stdio.h> // On Linux, wint_t and wchar_t have different signed-ness, and this causes // lots of noise in the build log, but no bugs that I know of. @@ -1017,6 +1018,7 @@ // Platform not supported: abort so the person doing the port knows what to // fix # warning ctype<char>::classic_table() is not implemented + printf("ctype<char>::classic_table() is not implemented\n"); abort(); return NULL; #endif diff --git a/src/string.cpp b/src/string.cpp index c6fe408..daed7d2 100644 --- a/src/string.cpp +++ b/src/string.cpp
@@ -16,6 +16,7 @@ #ifdef _WIN32 #include "support/win32/support.h" #endif // _WIN32 +#include <stdio.h> _LIBCPP_BEGIN_NAMESPACE_STD @@ -38,6 +39,7 @@ #ifndef _LIBCPP_NO_EXCEPTIONS throw T( msg ); #else + printf("%s\n", msg.c_str()); abort(); #endif }